\documentclass[paper=a4, fontsize=11pt]{scrartcl}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{datetime}
\usepackage{fourier}
\usepackage{amsmath} % Formulas
\usepackage{enumerate} % Lists
\usepackage{graphicx} % Pictures
\usepackage{listings} % Allows code inclusions
\usepackage{titlesec} % Allows to offset section numbers

\definecolor{CustomColor}{rgb}{0.2,0.4,0.5}
\titlelabel{\llap{\thetitle\enskip}} % Offset section numbers
%\renewcommand{\thesubsection}{\alph{subsection})} % Subsection letters instead of numbers
\renewcommand{\ttdefault}{pcr} % Courier tt font has bold for code
\renewcommand{\dateseparator}{-}

\newcommand{\code}[2]{ % Include code using \code{Python}{filename.py}
    \lstset{
        language=#1,
        morekeywords={lambda, with, as, lambda},
        basicstyle=\small\ttfamily,
        stringstyle=\color{CustomColor},
        showstringspaces=false,
        commentstyle=\color{CustomColor}\textit,
        tabsize=4,
        numbers=left,
        numbersep=1em,
        numberstyle=\color{CustomColor},
    }
    \lstinputlisting{#2}
}
%------------------------------------------------------------------------------

\title{Information Retrieval Lab 5}
\author{Carlos García Márquez}
\date{\small\yyyymmdddate\today}

\begin{document}

%------------------------------------------------------------------------------

\maketitle

\section{}
    A l'original s'havien indexat 31102 termes diferents, mentre que usant el filtre de \textit{stopwords} amb 571 paraules s'indexen 30595 termes. La diferència es de 507 termes, per tant la majoria de \textit{stopwords} (89\%) apareixen en el text. Mirant la mida, l'index original ocupaba 1,8 MB mentre que el filtrat ocupa nomès 1,3 MB, per tant ens estalviem casi un 30\% d'espai. \\
    També és interessant comparar l'aproximació a Zipf que vaig fer a la pràctica anterior:
    \begin{figure}[ht!]
        \centering
        \includegraphics[width=105mm]{zipf-100-0.png}
    \end{figure} \\
    $$\alpha = 1.11,\quad b = 43.5,\quad c = 0.30 \qquad 0.30 \times (rank+43.5)^{1.11}$$
    \newpage
    Després de filtrar \textit{stopwords} obtindríem:
    \begin{figure}[ht!]
        \centering
        \includegraphics[width=105mm]{zipf-100-1.png}
    \end{figure} \\
    $$\alpha = 1.17,\quad b = 266.9,\quad c = 0.81 \qquad 0.81 \times (rank+266.9)^{1.17}$$
    \\
    I després de filtrar \textit{stopwords} i fer \textit{stemming}:
    \begin{figure}[ht!]
        \centering
        \includegraphics[width=105mm]{zipf-100-2.png}
    \end{figure} \\
    $$\alpha = 1.47,\quad b = 388.7,\quad c = 8.94. \qquad 8.94 \times (rank+388.7)^{1.47}$$
    Amb i sense \textit{stopwords} no hi ha casi diferència. El resultat és lleugerament millor fent \textit{stemming}. El que se m'ha acudit és aplicar el logaritme al error del curve\_fit perquè s'ajusti millor a la cua, a canvi d'ajustar-se pitjor als primers termes. El resultat és el següent:
    \begin{figure}[ht!]
        \centering
        \includegraphics[width=105mm]{zipf-100-3.png}
    \end{figure} \\
    Finalment, amb \textit{stemming} s'indexen 19263 termes diferents. Tot i així l'index ocupa 1,2 MB, per tant no suposa un gran estalvi d'espai comparat amb el que es guanyava usant el diccionari de \textit{stopwords}.
    El \textit{stemming} l'he posat després dels altres \textit{tokenizers}. Ha d'anar segur després de LowerCaseFilter, perquè la documentació del PorterStemFilter indica que l'entrada ha d'estar tota en minúscules. A més, com la llista de \textit{stopwords} està sense passar per un \textit{stemmer}, he suposat que seria millor filtrar amb la llista abans de fer \textit{stemming} (ho he comprovat per estar segur i efectivament funciona pitjor el StopFilter si es fa després que el PorterStemFilter).

%     $$\forall x<y:\ \gcd(x!, y) = 1  \Rightarrow y\ primer $$

%     \subsection{Inline formulas}
%         Random text with inline $formula$ here and some formula:

%     \subsection{Left centered}
%         \begin{math}
%           3^{200} \equiv_{15} (3^5\mod15)^{40} \equiv_{15} (243\mod15)^{40} \equiv_{15} \\
%           3^{40} \equiv_{15} (3^5\mod15)^8 \equiv_{15} (243\mod15)^8 \equiv_{15} \\
%           3^8 \equiv_{15} (3^4\mod15)^2 \equiv_{15} (81\mod15)^2 \equiv_{15} 6^2 \equiv_{15} 6
%         \end{math}

%     \subsection{Numbered}
%         \begin{equation}
%             s_{i} \geq \frac{r_{i-1}}{k}
%         \end{equation}

%     \subsection{Aligned}
%         \begin{align*}
%             r_{i+1} &= r_{i} - s_{i+1} \\
%                     &\leq r_i(1 - \frac{1}{k}) &&\text{Usant (1)} \\
%                     &\leq opt(x) \cdot (1 - \frac{1}{k})^{i+1} &&\text{Per H.I.}
%         \end{align*}

% \section{Code}
%     % \code{Python}{stats.py}

% \section{Picture}
%     % \includegraphics[width=120mm]{zipf-log.png}

%     \subsection{Centered}
%         \begin{figure}[ht!]
%             \centering
%             % \includegraphics[width=150mm]{heaps.png}
%         \end{figure}

% \section{Enumeration}
%     \begin{enumerate}[(i)]
%       \item
%         First.
%       \item
%         Second.
%     \end{enumerate}

% \newpage

% \begin{thebibliography}{}
%     \bibitem{mendezetal}
%         John Doe,
%         \emph{Hello World}.
%         Example Books.
% \end{thebibliography}

%------------------------------------------------------------------------------

\end{document}
